package com.bjc.gmall;

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.context.annotation.ImportResource;

/**
 * 一.导入依赖
 *      1.导入dubbo-starter
 *      2.导入dubbo其他依赖
 */

/**
 * SpringBoot 与dubbo整合的三种方式：
 *  1.导入dubbo-starter,在application.yml配置属性，使用@Service[暴露服务] 使用@Reference[引用服务]
 *  2.保留dubbo-xml配置文件
 *      导入dubbo-starter，使用@ImportResource导入dubbo的配置文件即可
 *  3.使用注释API的方式：
 *      将每一个组件手动创建到容器中
 */
//@EnableDubbo  //开启基于注解的dubbo功能
//@ImportResource(locations = "classpath:provider.xml") //导入dubbo的配置文件
// 此时可以不用dubbo的@Service  将UserServiceImpl中的dubbo的@Service去掉
@EnableDubbo(scanBasePackages = "com.bjc.gmall")
@EnableHystrix  //开启服务容错
@SpringBootApplication
public class BootUserServiceProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(BootUserServiceProviderApplication.class, args);
    }

}
